package flex.cc.store.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import flex.cc.store.dto.entity.StoreCouponEntity;
import flex.cc.store.dto.vo.StoreCouponVo;
import java.util.List;
import java.util.Map;

/**
 *
 * @author WANGCONG
 * 2021年12月15日下午14:36:49
 * @desc 卡券Service层
 */
public interface StoreCouponService extends IService<StoreCouponEntity>{

    /**
     * @description 根据卡券类型查询服务券列表
     * @param reqVo 卡券
     * @return
     * @author wkangle
     * @time 2021/12/15 0015 16:00
     * @exception/throws
     */
    List<StoreCouponVo> queryCouponList(Map<String, Object> reqVo);

    /**
	 * 
	 * @author WANGCONG
	 * 2021年12月16日下午1:51:56
	 * @desc 根据卡券码查询实体信息
	 */
	StoreCouponEntity queryByCouponNum(String couponNum);

	/**
	 * @description 根据参数查询卡券实体
	 * @param params 查询参数
	 * @return
	 * @author wkangle
	 * @time 2021/12/16 0016 10:38
	 * @exception/throws
	 */
	StoreCouponEntity getOneByParams(Map<String, Object> params);

	/**
	 * 
	 * @author WANGCONG
	 * 2021年12月16日下午2:38:36
	 * @desc 查询当前月 ，同一车牌号，相同服务类型的服务次数（用于核销）
	 */
	int findServiceNum(Map<String, String> params);

	/**
	 * 
	 * @author WANGCONG
	 * 2021年12月17日下午14:02:51
	 * @desc 根据map参数更新卡券信息
	 */
	int updateByParam(Map<String, Object> params);

	/**
	 * @description 生成卡券二维码
	 * @param couponNum 卡券码
	 * @return
	 * @author wkangle
	 * @time 2021/12/21 0021 14:30
	 * @exception/throws
	*/
	Map<String, Object> couponQR(String couponNum);

	/**
	 * 
	 * @author WANGCONG
	 * 2021年12月27日上午9:37:26
	 * @desc 根据map参数查询卡券信息集合
	 */
	List<StoreCouponEntity> findListByParam(Map<String, Object> params);
	
	
	/**
	 * @author R
	 * 2021年12月29日上午9:47:56
	 * @desc 根据map参数查询卡券信息集合
	 */
	List<StoreCouponEntity> findCouponInfo(Map<String, Object> params);

	/**
	 * @author KSY
	 * 2022年1月5日
	 * @desc 查询卡券列表
	 */
	IPage<StoreCouponEntity> queryCardListWithPage(StoreCouponEntity storeCouponVo);

	/**
	 * @author KSY
	 * 2022年1月5日
	 * @desc 卡券导出
	 */
	IPage<StoreCouponEntity> queryCardListWithDataIds(StoreCouponEntity vo);

}
